Nash equilibrium cp PATH AMPL short = 0; /* production vector */ var Q = sum {i in Rn} q[i]; var divQ = (5000/Q)**(1/gamma); feas {i in Rn}: /* delf - p - q(I)*delp */ q[i] complements 0 <= c[i] + (L[i] * q[i])**(1/beta[i]) - divQ - q[i] * (-1/gamma) * divQ / Q <= Infinity; set initpoint := 1 .. 4; param initval {Rn,initpoint} >= 0; data; param c := 1 5 2 3 3 8 4 5 5 1 6 3 7 7 8 4 9 6 10 3 ; param beta := 1 1.2 2 1 3 .9 4 .6 5 1.5 6 1 7 .7 8 1.1 9 .95 10 .75 ; param initval : 1 2 3 4 := 1 1 10 1.0 7 2 1 10 1.2 4 3 1 10 1.4 3 4 1 10 1.6 1 5 1 10 1.8 18 6 1 10 2.1 4 7 1 10 2.3 1 8 1 10 2.5 6 9 1 10 2.7 3 10 1 10 2.9 2 ; ]]> for {point in initpoint} { printf "Start point %d\n", point; let{i in Rn} q[i] := initval[i,point]; solve; printf "complementary errors are:\n"; display max{i in 1.._nccons} abs(_ccon[i]), min{i in 1.._ncons} _con[i].slack; printf "\nProduction is:\n"; display q; }